﻿//-------------------------------------------------------------------------------------------------
// <copyright file="StockHistoricalPrice.cs" company="Andrew Craig Keller">
//  Copyright (c) Andrew Craig Keller.  All rights reserved.
// </copyright>
//-------------------------------------------------------------------------------------------------

namespace StockQuoteServices.Contracts
{
    using System;
    using System.Runtime.Serialization;

    /// <summary>
    /// Represents historical price data at a period in time for a particular <see cref="Stock"/>.
    /// </summary>
    [DataContract(Namespace = "contracts.stockquote.wayne.keller-pa.net")]
    public class StockHistoricalPrice
    {
        /// <summary>
        /// Gets or sets the date of the price data.
        /// </summary>
        [DataMember]
        public DateTime Date { get; set; }

        /// <summary>
        /// Gets or sets the price of the stock at the beginning of the period.
        /// </summary>
        [DataMember]
        public decimal Open { get; set; }

        /// <summary>
        /// Gets or sets the highest price of the stock during the period.
        /// </summary>
        [DataMember]
        public decimal High { get; set; }

        /// <summary>
        /// Gets or sets the lowest price of the stock during the period.
        /// </summary>
        [DataMember]
        public decimal Low { get; set; }

        /// <summary>
        /// Gets or sets the price of the stock at the end of the period.
        /// </summary>
        [DataMember]
        public decimal Close { get; set; }

        /// <summary>
        /// Gets or sets the volume traded of the stock during the period.
        /// </summary>
        [DataMember]
        public double Volume { get; set; }

        /// <summary>
        /// Gets or sets the adjusted price of the stock at the end of the period.
        /// </summary>
        [DataMember]
        public decimal AdjustedClose { get; set; }
    }
}
